package leetcode;

import java.util.*;

/**
 * @创建人 MBY381
 * @创建时间 2022/3/30 20:44
 * @描述 暂无
 */
public class Solution0740 {
    public static int deleteAndEarn(int[] nums) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            map.merge(nums[i], 1, Integer::sum);
        }
        System.out.println(map.toString());
        ArrayList<Integer> li = new ArrayList<>(new HashSet<>(map.keySet()));

        ArrayList<Integer> limax = new ArrayList<>();
        Collections.sort(li);
        int max;
        for (int i = 0; i < li.size() - 1; i++) {
            max = li.get(i);
            while (Math.abs(li.get(i + 1) - li.get(i)) == 1 && i < li.size() - 2) {
                max = max + li.get(i + 1);
                map.put(li.get(i + 1), map.get(li.get(i + 1)) - 1);
                i++;
            }
            limax.add(max);
        }
        System.out.println(li);
        System.out.println(map);
        return Collections.max(limax);
    }

    public static void main(String[] args) {
        int[] nums = new int[]{2, 2, 3, 3, 3, 4};
        System.out.println(deleteAndEarn(nums));
    }
}
